ArangoDB তে Vertex (নোড) এবং Edge (সম্পর্ক) ব্যবহার করে গ্রাফ ডেটা মডেলিং করা হয়। Vertex হলো ডেটার উপস্থাপন এবং Edge হলো Vertex গুলোর মধ্যে সম্পর্ক নির্দেশ করে। ArangoDB তে এই উপাদানগুলো তৈরির জন্য Document Collections এবং Edge Collections ব্যবহার করা হয়।
Vertex তৈরি করা
Vertex এর ধারণা
- Vertex হলো ডেটার একটি একক বিন্দু বা অবজেক্ট।
- এটি সাধারণত একটি Document Collection এ সংরক্ষণ করা হয়।
Vertex তৈরির প্রক্রিয়া
১. একটি Document Collection তৈরি করুন
CREATE COLLECTION "vertices"
এটি vertices নামে একটি Document Collection তৈরি করে।
২. Vertex ডেটা যোগ করুন
INSERT {
_key: "vertex1",
name: "Node A",
type: "Category"
} INTO vertices
এটি vertices Collection এ একটি Vertex যোগ করে, যেখানে _key ডেটার একটি অনন্য আইডেন্টিফায়ার।
৩. একাধিক Vertex যোগ করুন
INSERT { _key: "vertex2", name: "Node B", type: "Item" } INTO vertices
INSERT { _key: "vertex3", name: "Node C", type: "Item" } INTO vertices
এটি একই Collection এ আরও Vertex যোগ করে।
Edge তৈরি করা
Edge এর ধারণা
- Edge হলো Vertex গুলোর মধ্যে সম্পর্ক নির্দেশ করে।
- এটি একটি Edge Collection এ সংরক্ষণ করা হয়।
Edge তৈরির প্রক্রিয়া
১. একটি Edge Collection তৈরি করুন
CREATE COLLECTION "edges" TYPE EDGE
এটি edges নামে একটি Edge Collection তৈরি করে, যেখানে TYPE EDGE নির্দেশ করে এটি Edge স্টোর করার জন্য ব্যবহৃত হবে।
২. Edge ডেটা যোগ করুন
INSERT {
_from: "vertices/vertex1",
_to: "vertices/vertex2",
relation: "connected_to"
} INTO edges
এটি vertex1 এবং vertex2 এর মধ্যে একটি সম্পর্ক তৈরি করে। _from এবং _to ফিল্ডে সংশ্লিষ্ট Vertex এর _key উল্লেখ করতে হবে।
৩. একাধিক Edge যোগ করুন
INSERT { _from: "vertices/vertex2", _to: "vertices/vertex3", relation: "linked_to" } INTO edges
INSERT { _from: "vertices/vertex1", _to: "vertices/vertex3", relation: "related_to" } INTO edges
এটি আরও দুটি Edge তৈরি করে, যা Vertex গুলোর মধ্যে সম্পর্ক নির্দেশ করে।
গ্রাফ তৈরি করা
Graph Collection সংজ্ঞায়িত করা
ArangoDB তে একটি Graph তৈরি করতে Graph API ব্যবহার করা হয়। এটি Edge এবং Vertex Collection সমন্বিতভাবে কাজ করে।
১. একটি গ্রাফ তৈরি করুন
CREATE GRAPH "myGraph"
OPTIONS {
edgeDefinitions: [
{ collection: "edges",
from: ["vertices"],
to: ["vertices"]
}
]
}
এটি myGraph নামে একটি গ্রাফ তৈরি করে, যেখানে vertices Collection Vertex গুলো ধারণ করে এবং edges Collection Edge গুলো পরিচালনা করে।
Vertex এবং Edge ব্যবহার করে গ্রাফ ট্রাভার্সাল
১. একটি গ্রাফ ট্রাভার্সাল চালান
FOR v, e IN 1..2 OUTBOUND "vertices/vertex1" GRAPH "myGraph"
RETURN { vertex: v, edge: e }
এটি vertex1 থেকে এক বা দুই স্তরের মধ্যে সমস্ত Vertex এবং তাদের সম্পর্কিত Edge গুলো ফেরত দেয়।
সারাংশ
ArangoDB তে Vertex এবং Edge তৈরি করা সহজ এবং কার্যকর। Vertex ডেটা উপস্থাপন করে, আর Edge সম্পর্ক নির্ধারণ করে। Document এবং Edge Collection তৈরি করার মাধ্যমে জটিল গ্রাফ ডেটা মডেলিং সম্ভব হয়, যা ডেটার জটিল সম্পর্ক বিশ্লেষণে সহায়ক।